//   /*******************************************************************************
//   * Author      :  ChuanQin Yu                                                   *
//   * Copyright   :  (c) ChuanQin Yu 2023-2023                                     *
//   * mail        :  ycq1014@gmail.com                                             *
//   * License     :  http://www.boost.org/LICENSE_1_0.txt                          *
//   ********************************************************************************

/**
 * @Author: ycq_work@163.com
 * @DATE: 2023/10/23
 * @Description:
*/

#ifndef PARSER_H
#define PARSER_H

extern "C" {
#include <libavformat/avformat.h>
#include <libavcodec/avcodec.h>
}

#include <QThread>
#include <QString>

class Parser : public QThread
{
public:
    Parser(QObject *parent = nullptr);
    ~Parser();

    bool open(QString filePath);                // 打开并解析文件
    bool close();                               // 关闭文件和释放内存

private:
    QString filePath;
    AVFormatContext *pFormatCtx;
    AVCodecContext  *pCodecCtx;
    int audioStreamIndex;
};

#endif //PARSER_H
